﻿#include "WRWorkDevice.h"
#include "WRWorkDeviceType.h"
#include "WRWorkDeviceUuids.h"

//获取工作设备类型。
WRType* WRTypes::workDevice(void)
{
    static WRType* type = WRType::enroll(WRWorkDeviceType, 0);
    return type;
}

//初始化工作设备。
WRWorkDevice::WRWorkDevice(const WRWorkInformation& info, WRWorkDriver* driver)
       : WRWorkEntity(info), m_driver(driver)
{
    m_switchDealer.target(this);
}
//当前对象所占用的相关资源。
WRWorkDevice::~WRWorkDevice(void)
{
    //add code here
}

//查询指定标识的任务处理者。
WRTaskDealer* WRWorkDevice::queryTaskDealer(const QUuid& uuid)
{
    if (uuid == WRWorkSwitchDealer)
    {
        return &m_switchDealer;
    }
    return 0;
}
//查询指定标识的数据源接口。
WRDataSource* WRWorkDevice::queryDataSource(const QUuid&)
{
    return 0;
}
//查询指定标识的事件源接口。
WREventSource* WRWorkDevice::queryEventSource(const QUuid&)
{
    return 0;
}
//查询指示标识的状态源接口。
WRStateSource* WRWorkDevice::queryStateSource(const QUuid& uuid)
{
    if (uuid == WRWorkStatusSource)
    {
        return &m_statusHandlers;
    }
    return 0;
}
